home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d12 / tcoop.arc / TCOOP2.ARC / GSCROLL.H < prev    next >
Encoding:
C/C++ Source or Header  |  1991-10-26  |  1.6 KB  |  59 lines

  1. // gscroll.h: Provides classes to draw scroll bars and scroll bar 
  2. // windows in graphics mode 
  3.  
  4. #ifndef H_GSCROLL
  5. #define H_GSCROLL
  6.  
  7. #include "grphscrn.h"
  8.  
  9. const int HzScrollMove = 0xfe00;
  10. const int VtScrollMove = 0xfe01;
  11. const int BorderWd = 3;   // Border width is three pixels 
  12.  
  13. enum BarOrient { HzOrient, VtOrient };
  14.  
  15. class Slider : public Wso {
  16. public:
  17.   // Correction: Pg 367, Cp passed by reference, not
  18.   //             by pointer as in book
  19.   Slider(ColorPak &Cp);
  20.   virtual void Move(int X, int Y);
  21.   virtual void OnMouseEnter(MsgPkt &M);
  22.   virtual void OnMouseLeave(MsgPkt &M);
  23.   virtual void OnMouseDown(MsgPkt &M);
  24.   virtual void OnKeyStroke(MsgPkt &M);
  25. };
  26.  
  27. class ScrollBar : public Wso {
  28. public:
  29.   BarOrient Orientation;
  30.   Slider *Slide;
  31.   char InhibitMessage;
  32.   ScrollBar(BarOrient Orient, ColorPak &Cp);
  33.   virtual void SetSize(int W, int H);
  34.   virtual void Open(Iso *B, int X, int Y);
  35.   virtual void Redraw(void);
  36.   virtual void OnMouseEnter(MsgPkt &M);
  37.   virtual void OnMouseLeave(MsgPkt &M);
  38.   virtual void OnMouseDown(MsgPkt &M);
  39.   virtual void SendScrollPosn(void);
  40.   virtual void RcvScrollPosn(float P, BarOrient Which);
  41.   virtual void OnKeyStroke(MsgPkt &M);
  42. };
  43.  
  44. class Swso : public Wso {
  45. public:
  46.   ScrollBar *HzSlide, *VtSlide;
  47.   Wso *Window;
  48.   Swso(int Ba, int Fa, ColorPak &Cp);
  49.   virtual void SetSize(int W, int H);
  50.   virtual void Open(Iso *B, int X, int Y);
  51.   virtual void Redraw(void);
  52.   virtual void SendScrollPosn(void) { ; }
  53.   virtual void RcvScrollPosn(float, BarOrient) { ; }
  54.   virtual void Dispatch(MsgPkt &M);
  55. };
  56.  
  57. #endif
  58.  
  59.